In the current Internet and developing cloud computing industry, an increasing number of services are being delivered for free while building on a revenue model that is based on advertising and the delivery of interactive advertising messages. The fast-growing online advertising space, however, is generally controlled and monetized by the advertising content providers that generate and serve the advertising messages through web browser interfaces or through special application programs. This revenue model leaves out the infrastructure vendors, hardware equipment manufacturers and other resource providers that build and service the physical networks and systems through which the advertising messages are transmitted.
One of the models for online advertising is a pull model in which the user launches a web browser on a client computer and views advertisements that are transmitted to the client computer. A great deal of development has been directed to the delivery of targeted advertisements that are tailored to a user based on certain factors, such as location, demographics, usage patterns, and so on. For example, certain advertisement messages are pulled from an advertisement server or content provider, depending on the URL (uniform resource locator) or search term that is entered by the user. The client web browser interprets scripts in the content and then pulls the related advertisement content through the hyperlinks based on the input URL. The advertisement content is often interactive in that it not only displays messages but also includes links that the user can click on to access related websites. This interactivity provides a mechanism through which user actions can be tracked and used as the basis for revenue to be collected. For example, a revenue generating event can be triggered by the user performing an act in response to the displayed advertisement, such as clicking on an embedded hyperlink or purchasing a good or service associated with the advertisement. This present pull model of advertisement serving, however, suffers from certain disadvantages, such as the possible blocking of advertising messages by overlapping display windows, or the filtering of advertising messages by browser settings, spam or pop-up blockers, anti-virus software, and the like.
Another model of delivery advertising content to a client computer is the push model. In contrast to the pull model, the push model involves the serving of advertisement messages directly to a display without any user intervention. The display of advertisement messages on a television is an example of push messaging. The disadvantage of the push model is that the user's lack of control over the delivery of the advertising messages can cause interruptions in process flow and unduly interfere with the user's computing environment and experience. Regardless of the advertising message delivery method, most advertisement messages transmitted over computer networks are tied to a particular application that is running in a web browser, such as an advertisement served by a search engine, or an advertisement message provided as part of a plug-in application. This essentially limits the control and transmission of the advertisement messages to the application providers, and also requires that the user executes a particular application to view an advertisement.
In general, advertising messages represent one type of supplemental or out-of-band content that may be of use to a user. Other types of messages include security messages (e.g., public address warnings or system/network warnings), service notifications (e.g., maintenance or new feature announcements), diagnostic information (e.g., performance metrics or warnings), and so on. These messages are all ancillary or adjunct to the actual information transmitted to or from a user during the course of a web browsing session or other application execution, but they may be of sufficient value to a user that they add value to a third party provider or can viably form the basis of a valid revenue transaction. Such supplemental messages that encompass both advertising and security/service messages have the most value if they are delivered reliably and displayed in a persistent manner such that they are always visible to the user. The displaying of security messages is essential. They should not be blocked. Any impediment to the delivery and/or display of such messages, such as through filters or crowded GUI desktops can greatly limit their utility.
The disadvantages associated with current advertisement serving technology are also present, if not increased, in virtual network environments in which client computers operate virtual desktop systems. Virtualization of computer resources involves the abstraction and sharing of computer hardware among multiple operating systems and applications that are each isolated in corresponding virtual machines (VMs). This allows the hardware to be more efficiently utilized and leveraged by a potentially larger number of simultaneous users. A Virtualized Desktop Infrastructure (VDI) is an architecture where the user's display and input devices are local, but the applications are executed remotely. This architecture allows users to access their applications and data remotely, as the applications are hosted on virtual machines on a remote server. With VDI, users access personal desktops provided by virtual machines running on remote servers over a network connection. Each VM is a complete execution environment, and the server provides a user interface over the network connection so that user inputs and outputs are communicated between the user and the VM.
The virtualization layer can limit the delivery of advertisement and supplemental messages as compared to networks supporting standalone client computers because of the centralization of resources and control of the network nodes. Also, virtualization also introduces added security concerns since traditional network security measures, such as firewalls and Virtual Local Area Networks (VLAN) do not work well in virtualized environments.